// 引入
import axios from 'axios'
import store from '../store'
// 引入大数处理
import JSONbig from 'json-bigint'
// import transform from 'lodash.transform'
// const jsonStr = '{ "art_id": 1245953273786007552 }'
// console.log(JSONbig.parse(jsonStr))
// 使用axios crerte可以配置多套请求，axios具备的功能，request实力对象也基本都要具备
// axios.get()
// request.get()
const request = axios.create({
  baseURL: 'http://toutiao-app.itheima.net/', // 基准路径,
  // 处理相应数据
  transformResponse: [function (data) {
    try {
      // 如果有数据直接处理
      return JSONbig.parse(data)
    } catch (err) {
      // 如果没有就捕获
      return data
    }
  }]
  // http://toutiao-app.itheima.net/
  // http://ttapi.research.itcast.cn/
})

// 为什么使用请求拦截器：多个请求具有相同的配置时
request.interceptors.request.use(config => {
  // config每次请求的配置和请求的基本信息
  const { user } = store.state
  if (user && user.token) {
    config.headers.Authorization = 'Bearer ' + user.token
  }
  return config
})
// 把request暴露出去
export default request
